# Makefile de ejemplo para C++
# 
# Creado: jue abr 15 15:34:19 ART 2004
#
# Copyleft 2004 - Leandro Lucarella, Bajo licencia GPL [http://www.gnu.org/]
# 
# Modificado [25/03/2008] Por el grupo de datos nº ### para la catedra de servetto
#

# CONFIGURACION
################

# Nombre del ejecutable.
target = Ejecutable

# CONFIGURACION "AVANZADA"
###########################

# Opciones para el compilador C/C++ en modo ansi.
CXXFLAGS = -Wall -ansi -pedantic-errors

# Para valgrind o debug
CXXFLAGS += -ggdb -DDEBUG -fno-inline

# Opciones del enlazador.
LDFLAGS += -lm

enlazador = $(CXX)

# Tomo todos los archivos
fuentes ?= $(wildcard ./Codigo/*.cpp)

# REGLAS
#########

.PHONY: all clean

all: $(target)

o_files = $(patsubst %.cpp,%.o,$(fuentes))

$(target): $(o_files)
	@if [ -z "$(o_files)" ]; \
	then \
		echo "No hay archivos de entrada, recuerde que la extensión debe ser '.$(extension)'."; \
		false; \
	fi >&2
	$(enlazador) $(LDFLAGS) $(o_files) $(LOADLIBES) $(LDLIBS) -o $(target)

clean:
	@$(RM) -fv ./Codigo/*.o $(target)

